package com.ruoyi.wvp.service;

import java.util.List;
import com.ruoyi.wvp.domain.Surveillance;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
/**
 * AI摄像头Service接口
 * 
 * @author ruoyi
 * @date 2024-07-20
 */
public interface ISurveillanceService extends IService<Surveillance>{
    /**
     * 查询AI摄像头
     * 
     * @param id AI摄像头主键
     * @return AI摄像头
     */
    public Surveillance selectSurveillanceById(String id);

    /**
     * 查询AI摄像头列表
     * 
     * @param surveillance AI摄像头
     * @return AI摄像头集合
     */
    public List<Surveillance> selectSurveillanceList(Surveillance surveillance);

    /**
     * 新增AI摄像头
     * 
     * @param surveillance AI摄像头
     * @return 结果
     */
    public int insertSurveillance(Surveillance surveillance);

    /**
     * 修改AI摄像头
     * 
     * @param surveillance AI摄像头
     * @return 结果
     */
    public int updateSurveillance(Surveillance surveillance);

    /**
     * 批量删除AI摄像头
     * 
     * @param ids 需要删除的AI摄像头主键集合
     * @return 结果
     */
    public int deleteSurveillanceByIds(String[] ids);

    /**
     * 删除AI摄像头信息
     * 
     * @param id AI摄像头主键
     * @return 结果
     */
    public int deleteSurveillanceById(String id);

     /**
        * 查询所有AI摄像头信息
        *
        * @return 结果
        */
    List<Surveillance> listAll(Surveillance surveillance);
     /**
        * 分页查询AI摄像头信息
        *
        * @return 结果
        */
    Page<Surveillance> pageList(Page<Surveillance> page,Surveillance surveillance);

    Surveillance getByMonitorCode(String monitorCode);

    String importSurveillance(List<Surveillance> list, boolean updateSupport, String operName);

    void updateBySerialNumber(List<String> deviceSerials, Integer workState);

    void updateBySerialNumber(String deviceSerials, Surveillance surveillance);
}
